77. Slow / hung process
Use Query Agent to inspect
Problem:
Tuesday, November 23, 2010
78. » bin/rbx -Xagent.start scratch/qa_sample.rb
1288125364.684678: Server started, pid 39331
Tuesday, November 23, 2010
79. » bin/rbx -Xagent.start scratch/qa_sample.rb
1288125364.684678: Server started, pid 39331
Tuesday, November 23, 2010
80. » bin/rbx console
VM: bin/rbx -Xagent.start scratch/qa_sample.rb
Connecting to VM on port 58273
Connected to localhost:58273, host type: x86_64-apple-darwin10.4.0
console>
Tuesday, November 23, 2010
81. » bin/rbx console
VM: bin/rbx -Xagent.start scratch/qa_sample.rb
Connecting to VM on port 58273
Connected to localhost:58273, host type: x86_64-apple-darwin10.4.0
console> pid
PID: 39331
Tuesday, November 23, 2010
82. » bin/rbx -Xagent.start scratch/qa_sample.rb
1288125364.684678: Server started, pid 39331
Tuesday, November 23, 2010
83. » bin/rbx console
VM: bin/rbx -Xagent.start scratch/qa_sample.rb
Connecting to VM on port 58273
Connected to localhost:58273, host type: x86_64-apple-darwin10.4.0
console> pid
PID: 39331
console> backtrace
Tuesday, November 23, 2010
84. » bin/rbx console
VM: bin/rbx -Xagent.start scratch/qa_sample.rb
Connecting to VM on port 58273
Connected to localhost:58273, host type: x86_64-apple-darwin10.4.0
console> pid
PID: 39331
console> backtrace
Thread 0:
0x7fff5fbfc250: IO::Buffer#fill_from in kernel/common/io.rb:67 (+72)
0x7fff5fbfc690: IO#read in kernel/common/io.rb:1197 (+125)
0x7fff5fbfcaf0: ImportantServer#get_request in /Users/evan/git/rbx-
release/scratch/qa_sample.rb:10 (+7)
0x7fff5fbfced0: MAIN.__script__ in /Users/evan/git/rbx-release/
scratch/qa_sample.rb:17 (+91)
0x7fff5fbfd390: Rubinius::CodeLoader#load_script in kernel/delta/
codeloader.rb:67 (+44)
0x7fff5fbfd790: Rubinius::CodeLoader.load_script in kernel/delta/
codeloader.rb:91 (+40)
0x7fff5fbfdbb0: Rubinius::Loader#script in kernel/loader.rb:467 (+125
0x7fff5fbfdfc0: Rubinius::Loader#main in kernel/loader.rb:578 (+64)
0x7fff5fbfe3e0: Rubinius::Loader.main in kernel/loader.rb:617 (+33)
0x7fff5fbfe800: Object#__script__ in kernel/loader.rb:628 (+60)
Tuesday, November 23, 2010
85. Thread 0:
0x7fff5fbfc250: IO::Buffer#fill_from in kernel/common/io.rb:67 (+72)
0x7fff5fbfc690: IO#read in kernel/common/io.rb:1197 (+125)
0x7fff5fbfcaf0: ImportantServer#get_request in /Users/evan/git/rbx-
release/scratch/qa_sample.rb:10 (+7)
0x7fff5fbfced0: MAIN.__script__ in /Users/evan/git/rbx-release/
scratch/qa_sample.rb:17 (+91)
0x7fff5fbfd390: Rubinius::CodeLoader#load_script in kernel/delta/
codeloader.rb:67 (+44)
0x7fff5fbfd790: Rubinius::CodeLoader.load_script in kernel/delta/
codeloader.rb:91 (+40)
0x7fff5fbfdbb0: Rubinius::Loader#script in kernel/loader.rb:467 (+125
0x7fff5fbfdfc0: Rubinius::Loader#main in kernel/loader.rb:578 (+64)
0x7fff5fbfe3e0: Rubinius::Loader.main in kernel/loader.rb:617 (+33)
0x7fff5fbfe800: Object#__script__ in kernel/loader.rb:628 (+60)
Tuesday, November 23, 2010
86. Thread 0:
0x7fff5fbfc250: IO::Buffer#fill_from in kernel/common/io.rb:67 (+72)
0x7fff5fbfc690: IO#read in kernel/common/io.rb:1197 (+125)
0x7fff5fbfcaf0: ImportantServer#get_request in /Users/evan/git/rbx-
release/scratch/qa_sample.rb:10 (+7)
0x7fff5fbfced0: MAIN.__script__ in /Users/evan/git/rbx-release/
scratch/qa_sample.rb:17 (+91)
0x7fff5fbfd390: Rubinius::CodeLoader#load_script in kernel/delta/
codeloader.rb:67 (+44)
0x7fff5fbfd790: Rubinius::CodeLoader.load_script in kernel/delta/
codeloader.rb:91 (+40)
0x7fff5fbfdbb0: Rubinius::Loader#script in kernel/loader.rb:467 (+125
0x7fff5fbfdfc0: Rubinius::Loader#main in kernel/loader.rb:578 (+64)
0x7fff5fbfe3e0: Rubinius::Loader.main in kernel/loader.rb:617 (+33)
0x7fff5fbfe800: Object#__script__ in kernel/loader.rb:628 (+60)
Tuesday, November 23, 2010
87. Slow / hung process
Sample process via CLI
Problem:
Tuesday, November 23, 2010
88. » bin/rbx -Xagent.start -Xagent.verbose
scratch/qa_sample.rb
[QA: Bound to port 58407]
1288125364.684678: Server started, pid 39331
Tuesday, November 23, 2010
89. » bin/rbx -Xagent.start -Xagent.verbose
scratch/qa_sample.rb
[QA: Bound to port 58407]
1288125364.684678: Server started, pid 39331
Tuesday, November 23, 2010
90. » bin/rbx -Xagent.start -Xagent.verbose
scratch/qa_sample.rb
[QA: Bound to port 58407]
1288125364.684678: Server started, pid 39331
Tuesday, November 23, 2010
91. » bin/rbx console -p 58431 --bt
Thread 0:
0x7fff5fbfc200: IO::Buffer#fill_from in kernel/common/io.rb:67 (+72)
0x7fff5fbfc640: IO#read in kernel/common/io.rb:1197 (+125)
0x7fff5fbfcaa0: ImportantServer#get_request in /Users/evan/git/rbx-
release/scratch/qa_sample.rb:10 (+7)
0x7fff5fbfce80: MAIN.__script__ in /Users/evan/git/rbx-release/
scratch/qa_sample.rb:17 (+91)
0x7fff5fbfd340: Rubinius::CodeLoader#load_script in kernel/delta/
codeloader.rb:67 (+44)
0x7fff5fbfd740: Rubinius::CodeLoader.load_script in kernel/delta/
codeloader.rb:91 (+40)
0x7fff5fbfdb60: Rubinius::Loader#script in kernel/loader.rb:467 (+125)
0x7fff5fbfdf70: Rubinius::Loader#main in kernel/loader.rb:578 (+64)
0x7fff5fbfe390: Rubinius::Loader.main in kernel/loader.rb:617 (+33)
0x7fff5fbfe7b0: Object#__script__ in kernel/loader.rb:628 (+60)
Tuesday, November 23, 2010
92. Slow / hung process
Easy API to build monitoring tools
Problem:
Tuesday, November 23, 2010
102. » bin/rbx console
VM: bin/rbx -Xagent.start scratch/hd_demo.rb
Connecting to VM on port 58710
Connected to localhost:58710, host type:
x86_64-apple-darwin10.4.0
console> set system.memory.dump heap.dump
Tuesday, November 23, 2010
103. » bin/rbx -Xagent.start scratch/hd_demo.rb
Waiting...
Heap dumped to heap.dump
Tuesday, November 23, 2010